/*
 * ================================================================================函数定义区
 * 
 */

/**
 * 多选框和单选框click事件
 * @param questionType 单选1,多选2
 * @param questionId
 * @param optionValue
 */
function setQuestionValue(questionType, questionId, optionValue) 
{	
	selectOrRemoveSelect(questionType, questionId, optionValue);
	
	getChoiceValue(questionId);

	validateInTime(questionId);
}

/**
 * 选中与去选中
 * @param questionId
 * @param optionValue
 */
function selectOrRemoveSelect(questionType, questionId, optionValue) 
{	
	var questionOption = $('#' + questionId).find('.' + optionValue);
	//选中
	if (questionOption.attr("class") == optionValue + " question-option uncheck")
	{
		questionOption.css("background-color", "blue");
		questionOption.css("color", "white");
		questionOption.removeClass("uncheck").addClass("check");
		
		//如果是单选，选中一个同时其他的去选中
		if(questionType == '1')
		{
			questionOption.siblings().css("background-color", "rgb(191, 221, 249)");
			questionOption.siblings().css("color", "black");
			questionOption.siblings().removeClass("check").addClass("uncheck");
		}
		
	} 
	else 
	{
		//去选中
		questionOption.css("background-color", "rgb(191, 221, 249)");
		questionOption.css("color", "black");
		questionOption.removeClass("check").addClass("uncheck");
	}
}

/**
 * 获得单选或者多选的值
 * 如果option选项被选中,将optionValue到str后面,以;分隔
 * @param questionId
 */
function getChoiceValue(questionId) 
{	
	var str = "";
	
	$('#' + questionId).find(".item1").children("div").each(function() 
	{		
		var checkVal = $(this).attr("class").split(" ")[2];		
		if (checkVal == "check") 
		{
			str += $(this).attr("class").split(" ")[0] + ";";
		}		
	});
	
	//去掉最后一个;
	str = str.substring(0, str.length - 1);	
	$('#' + questionId).find("input").val(str);	
}

/**
 * 同步验证，不需要提交时候才提示
 * @param questionId
 */
function validateInTime(questionId)
{		
	$(".needValidate").each(function() 
	{
		if ($(this).val() == "") 
		{
			$(this).parent().prev().text("请选择至少一项");
		} 
		else 
		{
			$(this).parent().prev().text("");
		}
		
		//此问题的以下问题还没有选择，不需要验证
		if(questionId == $(this).attr('name'))
		{
			return false;
		}		
	});
}


/**
 * YN选项change事件
 * @param $yn YNcheckbox对象本身
 * @param questionId
 * @param optionValue
 */
function setYNQuestionValue($yn, questionId, optionValue) 
{
	//如果选中，另一个选项去选中
	if($yn.is(":checked"))
	{		
		$yn.siblings().removeAttr("checked");
		$('#' + questionId).find("input[type=hidden]").val(optionValue);
	}
	else
	{	
		//去选中,不赋值
		$('#' + questionId).find("input[type=hidden]").val("");
	}
	
	//实时验证
	validateInTime(questionId);
}

/**
 * 提交form调查问卷表单
 * @returns {Boolean}
 */
function submitQuestionForm() 
{
	var count = commitValidate('.needValidate');
	
	//如果必输项的每一个问题都有值，则提交
	if (count == $(".needValidate").length) 
	{
		openConfirm("确认提交吗？",null,function()
		{			
			//得到问卷的所有问题ID和答案
			var voteinfo = getFormList("questionForm");	 
			var formParas = JSON.stringify(voteinfo);
			$.ajax(
			{
				type: 'POST',
		        url: BASE_PATH +'/survey/surveyVote/addVote.do?formParas='+encodeURIComponent(formParas),
		        dataType:"json",       
		        contentType:"application/json;charset=UTF-8",
				success : function(data) 
				{
					if(data=='success')
					{
						openAlert('保存成功',function()
						{
							saveItem("nav-vote-2","li-1");
							$("#loadSurveyList").submit();
						});
					}
					else
					{
						openAlert('保存失败');
					}
				},
				error:function(e)
				{
					openAlert('操作失败！错误信息：<div>'+e.responseText+"</div>");
				}
			});
					
		});		
	} 
	else 
	{
		return false;
	}
}

/**
 * 验证单选、多选、YN是否有选中
 * @returns {Number}
 */
function commitValidate(element ) 
{	
	var count = 0;
	
	$(''+ element ).each(function() 
	{
		if ($(this).val() == "")
		{
			$(this).parent().prev().text("请选择至少一项");
			openAlert("请选择至少一项！");
		} 
		else 
		{
			$(this).parent().prev().text("");
			count++;
		}
	});
	
	//有红色提示,不准提交
	$("span.validateError").each(function() 
	{
		if($(this).text()!="")
		{
			count = 9999999;
		}		
	});
	
	return count;
}

/**
 * 重置
 */
function resetQuestion() 
{	
	$('#questionForm')[0].reset();
	
	//去掉check属性,值置为""
	$("#questionForm input[type=hidden]").each(function() 
	{
		if ($(this).attr("value") != "") 
		{
			$(this).attr("value", "");
			
			$(this).parent().find(".check").each(function() 
			{
				$(this).removeClass("check").addClass("uncheck");
			});
		}

	});
	
	//去掉背景色
	$(".question-option").each(function() 
	{
		$(this).css('background-color', '#bfddf9');
		$(this).css('color', 'black');
	});
	
    //提示信息置为空
	$("span.validateError").text("");
}

//保存参数
function saveItem(id,name)
{
	SessionStorage.setItem("navinfo", {
		nav: name,
		child:id
	});
}
